Run time support for mobile code
نویسنده
چکیده
Current trends in networked computing include increasing bandwidth demands, dynamically reconfigurable services, and a rising share of mobile devices with wireless links. Conventional communication, being based on the remote procedure call (RPC) paradigm, is not ideally suited for these requirements, as RPC requires continuous connectivity, noticeable bandwidth, and a statically configured common protocol at both sides. Mobile code is a recent alternative paradigm based on transferring the interaction code of one participant to the other machine and executing it there, requiring no further connectivity, potentially saving bandwidth, and requiring no more than a general run-time system for mobile code in place. Mobile agents are the most general incarnation of mobile code: An autonomous process running on several computers in turn, voluntarily moving (“migrating”) with all its code and state through a heterogeneous network. The mobile agent concept is thoroughly analyzed in this thesis, first defining its conceptual boundaries, then describing its context in distributed systems research, looking at promising and less promising applications, and finally analyzing its inherent problems, portability and security above all. Mobile agents require a novel kind of run-time system, termed a mobile agent system (MAS), which provides portability and security of code execution, agent control, management, and communication, and general distribution support. Several existing MAS are described and evaluated. One MAS, developed in the course of this thesis project, is the Ara system. Ara stands out among most MAS by supporting many established and widely different languages for agent programming, by supporting “strong” agent migration (that is, completely orthogonal to the agent’s control flow) regardless of the agent’s language, and by particular attention to efficiency. Agent code is executed by interpreters. Strong migration is implemented by a concept of stack capturing that imposes very little overhead and can be used to adapt any interpreter implemented in C/C++ to Ara with only a tightly local understanding of its implementation, demonstrated by interpreters for Tcl, Java, and C/C++. Ara offers two mechanisms for local communication, synchronous request-reply messages at named meeting points, and an asynchronous tuple space. Ara’s security design builds on digital signatures and encryption; on top of that, protection domains with authorization policies in the form of arbitrary application code allow a clear and flexible authorization of mobile agents visiting a host. Ara has been successfully applied in a realistic application for distributed information research in the Usenet news network, demonstrating measurable performance gains by using mobile agents for remote data filtering over an implementation based on conventional RPC and local filtering. Mobile agents are an attractive concept in the first place, both intuitively appealing and promising technical advantages of flexibility and performance. Ara shows that mobile agents can be realized with language-independence, strong migration, and efficiency at the same time. However, mobile agents also introduce new and hard problems, and convincing applications have remained scarce. As many of the benefits of mobile agents can already be achieved by the more restricted concept of mobile code, it is predicted that mobile code, rather than full mobile agents, will play an important role as a system mechanism in future middleware frameworks.
منابع مشابه
Design and Evaluation of a Method for Partitioning and Offloading Web-based Applications in Mobile Systems with Bandwidth Constraints
Computation offloading is known to be among the effective solutions of running heavy applications on smart mobile devices. However, irregular changes of a mobile data rate have direct impacts on code partitioning when offloading is in progress. It is believed that once a rate-adaptive partitioning performed, the replication of such substantial processes due to bandwidth fluctuation can be avoid...
متن کاملA Policy-based Mobile Agent Infrastructure
The Mobile Agent paradigm seems to provide promising solutions for developing applications in the Internet environment. However, the adoption of mobile agents introduces specific problems related to the specification and control of agent migration strategies. The paper advocates a policy-based solution to support the flexible management and dynamic configurability of agent mobility behaviour. O...
متن کاملLogChamber: Inferring Source Code Locations Corresponding to Mobile Applications Run-time Logs
We present a development support tool, called LogChamber, which infers source-code locations by analyzing run-time logs of mobile applications. During development, developers insert log functions into applications calls in order to confirm that the applications correctly run as expected. After that, they need to have a process for estimating a program’s runtime behavior in order to identify the...
متن کاملImplementing Distributed Services with Mobile Code: the Case of the Messenger Environment
Mobile code is being investigated by many researchers as an alternative for the implementation of more flexible distributed applications. A number of programming paradigms based on mobile code have been developed. This paper focuses on implementation of distributed services using the messenger paradigm. With the messenger approach which combines the potential of mobile code, runtime code genera...
متن کاملAdaptive Compression of Syntax Trees and Iterative Dynamic Code Optimization: Two Basic Technologies for Mobile Object Systems
We are designing and implementing a flexible infrastructure for mobile-object systems. Two fundamental innovations distinguish our architecture from other proposed solutions. First, our representation of mobile code is based on adaptive compression of syntax trees. Not only is this representation more than twice as dense as Java byte-codes, but it also encodes semantic information on a much hig...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002